package fjut.acm.coding.service;


import fjut.acm.coding.entity.ProblemInfo;
import fjut.acm.coding.entity.vo.ProblemTypeCountVO;
import fjut.acm.coding.entity.vo.SubmitProblemTypeVO;

import java.util.List;


public interface ProblemInfoService {



    /**
     * 根据题目ID查询题目基本信息
     *
     * @param problemId
     * @return
     */
    ProblemInfo selectProblemInfo(Integer problemId);

    /**
     * 根据题目ID删除题目
     *
     * @param problemId
     * @return
     * @author zhongml [2020/4/17]
     */
    int deleteProblem(Integer problemId);


    /**
     * 统计submit最多的题目类型
     *
     * @return
     * @author zhongml [2020/5/14]
     */
    List<SubmitProblemTypeVO> selectSubmitProblemType();

    /**
     * 返回所有题目id
     *
     * @return
     * @author zhuoren [2021/2/28]
     */
    List<ProblemInfo> allProblemId();

    /**
     * 统计题库的题目类型
     *
     * @return
     * @author zhongml [2020/5/14]
     */
    List<ProblemTypeCountVO> countProblemType();

}
